Listin Gambas2
Création d'un programme en Gambas2 : un répertoire téléphonique pas à pas
Origine : http://listingambas.blogspot.com/2011/06/anexo-4-empaquetadodesempaquetado-de.htmlAnnexe 4 : Empaquetage / Dépaquetage de données
"Houston, Houston, nous avons un
problème"
Comme nous
le disions à l'époque de la sauvegarde des données, seuls les chemins
des images sont enregistrés,
pas l'image elle-même (ainsi,
seuls les miniatures sont stockées dans " ~ / Listin / mini "
).
Normalement
c'est efficace, mais ...Que faire si nous avons changé d'ordinateur?
Que faire
si les images «grand format» sont sur un disque dur externe?Peut-on
faire une copie de sécurité de toutes les données?
Eh bien,
pour résoudre ces problèmes, nous faisons les choses suivantes :
-
Créer et copier le dossier " ~ / Listin / photos ", toutes les photos à leur taille d'origine.
-
Changer les chemins des photos et copier les données dans un dossier que nous appellerons " ~ / Listin / data "
- créer une
«ListeGenerale.lis" qui contiendra toutes les données accessibles des
dossiers " ~ / Listin"
Pour cela,
dans le formulaire Fmain
nous allons créer une nouvelle option du menu qui s'appellera "Créer
Liste générale "
![]() |
![]() |
Avec le code suivant:
PUBLIC SUB ListeGenerale_Click()
importer.complet()
END
Maintenant, dans le module importer, créons la procédure complet()
SUB complet()
'définition
des variables locales
DIM a AS
Integer
DIM destination AS
String
DIM lignes AS
String
DIM codefinligne AS String
DIM PhotoNouveauDossier AS NEW
String[]
IF Exist("~/listin/") THEN
' Le répertoire existe , pas besoin de le
créer
ELSE
'Le répertoire n'existe pas, le créer...
MKDIR "~/listin/"
ENDIF
'Créer et copier dans un dossier
"~/listin/photos", toutes les photos avec leur taille d'origine
IF Exist("~/listin/photos") THEN
'Le répertoire existe , pas besoin de le
créer
ELSE
'Le répertoire n'existe pas, le créer...
MKDIR "~/listin/photos"
ENDIF
'début de copie
de toutes les photos ...
FOR a = 0 TO
var.dni.COUNT - 1
'commande de copie en console
IF Exist("~/listin/photos/" & File.NAME(var.photo[a])) THEN
'elle existe,
pas de copie
ELSE
COPY var.photo[a] TO "~/listin/photos/" &
File.NAME(var.photo[a])
ENDIF
NEXT
'modifier les répertoires des photos et
copier les données dans un dossier qu'on appelle “~/listin/phtos”
PhotoNouveauDossier.resize.Resize(var.dni.COUNT)
FOR a = 0 TO
var.dni.COUNT - 1
PhotoNouveauDossier[a] = "~/listin/photos/"
& File.Name(var.photo[a])
NEXT
'créer un fichier “ListeGenerale.lis”, qui
contiendra toutes les données accessibles du contenu du dossier
“~/listin”
destination
= "~/listin/ListeGenerale.lis"
codigofinline = "|"
lignes
= "v0.0.1" & codefinligne 'information
version
lignes &= "listin.20100718" &
codefinligne ' programme qui a
créé le fichier
lignes &= var.id.count & codefinligne 'nombre d'enregistrements existants
lignes &= var.id.count & codefinligne 'nombre d'enregistrements existants
FOR a = 0 TO var.id.COUNT - 1
lignes &= var.id[a] & codefinligne
lignes &= var.dni[a] & codefinligne
lignes &= var.nom[a] & codefinligne
lignes &= var.prenoms[a] & codefinligne
lignes &= var.entreprise[a] & codefinligne
lignes &= var.poste[a] & codefinligne
lignes &= var.tel_entreprise[a] & codefinligne
lignes &= var.tel_perso[a] & codefinligne
lignes &= var.fax[a] & codefinligne
lignes &= var.mobile_entreprise[a] & codefinligne
lignes &= var.mobile_perso[a] & codefinligne
lignes &= var.page[a] & codefinligne
lignes &= var.id[a] & codefinligne
lignes &= var.dni[a] & codefinligne
lignes &= var.nom[a] & codefinligne
lignes &= var.prenoms[a] & codefinligne
lignes &= var.entreprise[a] & codefinligne
lignes &= var.poste[a] & codefinligne
lignes &= var.tel_entreprise[a] & codefinligne
lignes &= var.tel_perso[a] & codefinligne
lignes &= var.fax[a] & codefinligne
lignes &= var.mobile_entreprise[a] & codefinligne
lignes &= var.mobile_perso[a] & codefinligne
lignes &= var.page[a] & codefinligne
'ici on met le nouveau répertoire des
photos
lignes &= PhotoNouveauDossier[a] &
codefinligne
'remplacement du chemin de la photo
d'origine par celui de la nouvelle
var.photo[a] = PhotoNouveauDossier[a]
lignes &= var.adresse[a] & codefinligne
lignes &= var.commentaires[a] & codefinligne
lignes &= var.date_donnees[a] & codefinligne
lignes &= var.mail[a] & codefinligne
lignes &= var.adresse[a] & codefinligne
lignes &= var.commentaires[a] & codefinligne
lignes &= var.date_donnees[a] & codefinligne
lignes &= var.mail[a] & codefinligne
NEXT
File.Save (destination,
lignes)
'fin de processus
END
Maintenant
toutes les informations (les
images, les vignettes, les données) sont dans le
répertoire "~ / Listin / "( user.home & "/ Listin."
pourrait être copié sur un autre ordinateur dans ce
répertoire, et collé dans votre user.home , rendant
l'information complètement accessible.